ASP.NET Web Forms এ validation controls ডেভেলপারদের সহজে এবং দ্রুত ডেটা যাচাই করার সুবিধা প্রদান করে। এই কন্ট্রোলগুলো ব্যবহারকারী থেকে প্রাপ্ত ইনপুট ডেটার বৈধতা নিশ্চিত করতে সহায়তা করে। ASP.NET এর built-in validation controls যেমন RequiredFieldValidator, CompareValidator, RangeValidator, RegularExpressionValidator, CustomValidator, এবং ValidationSummary ডেভেলপারদের ওয়েব ফর্মের ইনপুট ক্ষেত্রগুলোর জন্য স্বয়ংক্রিয়ভাবে যাচাই করার সক্ষমতা দেয়।
এই কন্ট্রোলগুলো server-side validation বা client-side validation দুটোই করতে পারে, যার ফলে ইউজার ইন্টারফেসে ত্রুটি বা ভুল ইনপুটের জন্য দ্রুত প্রতিক্রিয়া পাওয়া যায়।
RequiredFieldValidator কন্ট্রোল ব্যবহার করা হয় একটি নির্দিষ্ট ইনপুট ক্ষেত্রের জন্য ব্যবহারকারীকে তথ্য প্রদান করতে বাধ্য করার জন্য। এটি নিশ্চিত করে যে, ফর্মের একটি নির্দিষ্ট ফিল্ড খালি না থাকে এবং সেই ফিল্ডে কোনো মান প্রদান করা হয়েছে।
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator
ID="rfvName"
runat="server"
ControlToValidate="txtName"
ErrorMessage="Name is required"
ForeColor="Red" />
এখানে RequiredFieldValidator কন্ট্রোলটি txtName নামক টেক্সটবক্সের জন্য ইনপুট যাচাই করছে এবং যদি ইনপুট ফিল্ড খালি থাকে, তবে "Name is required" মেসেজটি দেখাবে।
CompareValidator কন্ট্রোলটি ব্যবহার করা হয় দুটি মানের মধ্যে তুলনা করার জন্য। এটি ControlToValidate এর মান অন্য একটি কন্ট্রোলের মানের সাথে তুলনা করে এবং ফলস হলে ত্রুটি মেসেজ প্রদর্শন করে।
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
<asp:CompareValidator
ID="cvPassword"
runat="server"
ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword"
ErrorMessage="Passwords do not match"
ForeColor="Red" />
এখানে, CompareValidator কন্ট্রোলটি txtPassword এবং txtConfirmPassword টেক্সটবক্সের মান তুলনা করবে। যদি পাসওয়ার্ড দুটি এক না হয়, তবে "Passwords do not match" ত্রুটি মেসেজ দেখাবে।
RangeValidator কন্ট্রোলটি ব্যবহার করা হয় একটি মানের মধ্যে সীমানা নির্ধারণ করার জন্য। এটি একটি নির্দিষ্ট মানের মধ্যে ইনপুট যাচাই করে, যেমন সংখ্যা, তারিখ ইত্যাদি। এটি ব্যবহারকারীর ইনপুটকে একটি নির্দিষ্ট সীমার মধ্যে রাখতে সহায়তা করে।
<asp:TextBox ID="txtAge" runat="server"></asp:TextBox>
<asp:RangeValidator
ID="rvAge"
runat="server"
ControlToValidate="txtAge"
MinimumValue="18"
MaximumValue="100"
Type="Integer"
ErrorMessage="Age must be between 18 and 100"
ForeColor="Red" />
এখানে, RangeValidator কন্ট্রোলটি txtAge টেক্সটবক্সের মান 18 থেকে 100 এর মধ্যে থাকতে হবে তা যাচাই করছে। যদি ব্যবহারকারী 18 এর কম অথবা 100 এর বেশি বয়স প্রদান করেন, তাহলে "Age must be between 18 and 100" মেসেজটি প্রদর্শিত হবে।
RegularExpressionValidator কন্ট্রোলটি একটি ইনপুট ফিল্ডের মানকে একটি নির্দিষ্ট regular expression এর সাথে তুলনা করে যাচাই করে। এটি সাধারণত ইমেইল, ফোন নম্বর, পিন কোড ইত্যাদি যাচাই করতে ব্যবহৃত হয়।
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator
ID="revEmail"
runat="server"
ControlToValidate="txtEmail"
ValidationExpression="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
ErrorMessage="Please enter a valid email address"
ForeColor="Red" />
এখানে, RegularExpressionValidator কন্ট্রোলটি txtEmail ইনপুটের মানকে একটি ইমেইল ঠিকানার নিয়মের সাথে যাচাই করে। যদি এটি সঠিক ইমেইল ঠিকানা না হয়, তাহলে "Please enter a valid email address" ত্রুটি মেসেজটি দেখাবে।
CustomValidator কন্ট্রোলটি কাস্টম কোড ব্যবহার করে ইনপুট যাচাই করতে ব্যবহৃত হয়। এটি যখন ডেভেলপারকে নির্দিষ্ট কাস্টম লজিকের ভিত্তিতে ভ্যালিডেশন করতে হয়, তখন ব্যবহার করা হয়।
<asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>
<asp:CustomValidator
ID="cvUsername"
runat="server"
ControlToValidate="txtUsername"
OnServerValidate="ValidateUsername"
ErrorMessage="Username must start with a letter"
ForeColor="Red" />
এখানে, CustomValidator কন্ট্রোলটি txtUsername ইনপুট ফিল্ডে কাস্টম লজিক প্রয়োগ করছে। OnServerValidate ইভেন্টে ValidateUsername মেথড কল হবে, যা যাচাই করবে যে, ইউজারনেমটি একটি অক্ষর দিয়ে শুরু হচ্ছে কি না।
CodeBehind Example:
protected void ValidateUsername(object source, ServerValidateEventArgs args)
{
if (Char.IsLetter(args.Value[0]))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
ValidationSummary কন্ট্রোলটি সব ধরনের ভ্যালিডেশন ত্রুটি একত্রে দেখানোর জন্য ব্যবহৃত হয়। এটি সাধারণত ফর্মের উপরে বা নিচে সমস্ত ত্রুটি মেসেজ সমন্বিত করে প্রদর্শন করা হয়।
<asp:ValidationSummary
ID="vsSummary"
runat="server"
ForeColor="Red"
HeaderText="Please fix the following errors:" />
এখানে, ValidationSummary কন্ট্রোলটি সব ভ্যালিডেশন কন্ট্রোলের ত্রুটি মেসেজ একত্রে প্রদর্শন করবে।
এইভাবে, ASP.NET Web Forms এর Built-in Validation Controls ডেভেলপারদের সহজে ইনপুট যাচাই করতে সহায়তা করে, যা নিরাপত্তা এবং ইউজার এক্সপিরিয়েন্সের জন্য অত্যন্ত গুরুত্বপূর্ণ।
common.read_more